package modelo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import bean.ItemPedidoVO;
import bean.PedidoVO;


public class Pedido {

	private int nroPedido;
	// private OficinaDeVenta oficina;
	private Cliente cliente;
	private Date fecha;
	private List<ItemPedido> items = new ArrayList<ItemPedido>();
	private Cotizacion cotizacion ;


	public int getNro() {
		return nroPedido;
	}

	public void setNro(int nro) {
		this.nroPedido = nro;
	}

	/*
	 * @ManyToOne(cascade=CascadeType.ALL)
	 * 
	 * @JoinColumn(name="nroOficina") public OficinaDeVenta getOficina() {
	 * return oficina; }
	 * 
	 * 
	 * 
	 * public void setOficina(OficinaDeVenta oficina) { this.oficina = oficina;
	 * }
	 */


	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}


	public List<ItemPedido> getItems() {
		return items;
	}

	public void setItems(List<ItemPedido> items) {
		this.items = items;
	}

	
	public void agregarItem(ItemPedido ip) {
       items.add(ip);
	}
	
	
	public Cotizacion getCotizacion() {
		return cotizacion;
	}

	public void setCotizacion(Cotizacion cotizacion) {
		this.cotizacion = cotizacion;
	}

	
	
	
	public List <ItemPedidoVO> itemsToVO(){
		List<ItemPedidoVO> itemsVO = new ArrayList<ItemPedidoVO>(); 
		for(ItemPedido ip : items)
			itemsVO.add(ip.toVO());
			return itemsVO;	
	}
	
	public PedidoVO toVO(){
		
		PedidoVO pVO = new PedidoVO();
		
		pVO.setCliente(this.getCliente().toVO());
		pVO.setFecha(this.getFecha());
		pVO.setNro(this.getNro());
		pVO.setCotizacion(this.getCotizacion().toVO());
		pVO.setItems(this.itemsToVO());
		
		return pVO;
		
	}
	
}
